package kgc.LiuMang.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import kgc.LiuMang.entity.Evaluate;

public interface EvaluateMapper {
	
	/**
	 * 获的所有的评价信息
	 * @return
	 */
	public List<Evaluate> getAllEva();
	
	/**
	 * 根据条件分页获得评价
	 * @param pageNum 从哪个地方开始查询
	 * @param pageSize  每页查询几条
	 * @param fname		果销点名字
	 * @param fcity		果销点所在城市
	 * @param oname		订单的名字
	 * @param estate	订单的状态好评1还是差评0
	 * @return
	 */
	public List<Evaluate> getEvaListByLimit(@Param("pageNum")Integer pageNum,
											@Param("pageSize") Integer pageSize,
											@Param("fname") String fname,
											@Param("fcity") String fcity,
											@Param("oname") String oname,
											@Param("estate") String estate);
	
	/**
	 * 根据果销点名字查询果销点评价信息
	 * @param fname 果销点名字
	 * @return
	 */
	public List<Evaluate> getEvaListByFsName(String fname);
	
	/**
	 * 根据果销点地区查询果销点评价信息
	 * @param fcity 果销点地区
	 * @return
	 */
	public List<Evaluate> getEvaListByFsCity(String fcity);
	
	/**
	 * 根据订单名字查询果销点评价信息
	 * @param oname 订单名字
	 * @return
	 */
	public List<Evaluate> getEvaListByOrderName(String oname);
	
	/**
	 * 根据评价状态询评价信息
	 * @param estate 评价状态
	 * @return
	 */
	public List<Evaluate> getEvaListByEvaState(String estate);
	
	
	
	/**
	 * 根据果销点id获取评价的总数
	 * @param efid 果销点id
	 * @return
	 */
	public int getEvaNumber(Integer efid);
	
	/**
	 * 根据果销点id获取差评评价的总数
	 * @param efid 果销点id
	 * @return
	 */
	public int getEvaNumberByState(Integer efid);
	
	//******************************下边是增加评价的方法********************************************
	
	/**
	 * 增加评价，
	 * @param econtent 			评价内容
	 * @param euserid  			评价人id
	 * @param eproductid		评价订单id
	 * @param efid				评价果销点id
	 * @param estate			评价状态
	 * @param egrade			评价级别
	 * @return 增加的评价的数量
	 */
	public int addEva(@Param("econtent") String econtent,
					@Param("euserid") Integer euserid,
					@Param("eproductid") Integer eproductid,
					@Param("efid") Integer efid,
					@Param("estate") String estate,
					@Param("egrade") Integer egrade);
	
	
	
	
	//******************************下边是删除的方法********************************************************
	
	/**
	 * 根据评价id ：eid 删除相应的评价
	 * @param eid
	 * @return
	 */
	public int deleteEvaById(Integer eid);
	
	
	
	
	
	
	
	
	
	
	
	
}